CNN in TenorFlow

less than 1 minute read

Published:

Kaggle에서 CNN 기본을 배우기 위한 간단한 과제를 풀어보려고 한다. https://www.kaggle.com/c/dogs-vs-cats/kernels

1. Image를 Trainset과 Validataion set를 나눠보자

  • Tensorflow와 Keras는 유용한게 이미지를 명명된 하위디렉토리에 넣으면 자동으로 label을 지정해준다.

코드를 한번 보자

# 1. ImageDataGenerator를 사용하기 위해서는 인스턴스를 생성해야한다.
from tensorflow.keras.preprocessing.image import ImageDataGenerator
# 2. 다음과 같이 설정된 모습이 있는데, 만약에 nomalization이 되어있지 않다면 rescaling을 해줘야한다.
train_datagen = ImageDataGenerator( rescale = 1.0/255. )
# 3. train
train_generator = train_datagen.flow_from_directory(train_dir,
                                                    batch_size=20,
                                                    class_mode='binary',
                                                    target_size=(150, 150))     
# --------------------
# Flow validation images in batches of 20 using test_datagen generator
# --------------------
validation_generator =  test_datagen.flow_from_directory(validation_dir,
                                                         batch_size=20,
                                                         class_mode  = 'binary',
                                                         target_size = (150, 150))